.TH std::mergeable 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::mergeable \- std::mergeable

.SH Synopsis
   Defined in header <iterator>
   template< class I1, class I2, class Out, class Comp = ranges::less,

             class Proj1 = std::identity, class Proj2 = std::identity >
   concept mergeable =
       std::input_iterator<I1> &&
       std::input_iterator<I2> &&
       std::weakly_incrementable<Out> &&                                 \fI(since C++20)\fP
       std::indirectly_copyable<I1, Out> &&
       std::indirectly_copyable<I2, Out> &&
       std::indirect_strict_weak_order<Comp,
                                       std::projected<I1, Proj1>,

                                       std::projected<I2, Proj2>>;

   The mergeable concept specifies the requirements for algorithms that merge two input
   ranges into a single output range according to the strict weak ordering imposed by
   Comp.

   Semantic requirements

   mergeable is modeled only if all concepts it subsumes are modeled.

.SH See also

   ranges::merge                    merges two sorted ranges
   (C++20)                          (niebloid)
   ranges::set_union                computes the union of two sets
   (C++20)                          (niebloid)
   ranges::set_intersection         computes the intersection of two sets
   (C++20)                          (niebloid)
   ranges::set_difference           computes the difference between two sets
   (C++20)                          (niebloid)
   ranges::set_symmetric_difference computes the symmetric difference between two sets
   (C++20)                          (niebloid)
